package com.ptms.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;

// 登录参数DTO（接收前端用户名、密码）
public class LoginDTO {
    // 用户名：非空，长度4-16位（与前端表单校验规则一致）
    @NotBlank(message = "用户名不能为空")
    @Size(min = 4, max = 16, message = "用户名长度需在4-16位之间")
    private String username;

    // 密码：非空，长度6-20位
    @NotBlank(message = "密码不能为空")
    @Size(min = 6, max = 20, message = "密码长度需在6-20位之间")
    private String password;

    // 1. 无参构造（前端传参时需要）
    public LoginDTO() {}

    // 2. 全参构造（可选，用于测试）
    public LoginDTO(String username, String password) {
        this.username = username;
        this.password = password;
    }

    // 3. 补全 username 的 getter 方法（AuthServiceImpl 中需要调用）
    public String getUsername() {
        return username;
    }

    // 4. 补全 password 的 getter 方法（验证密码时需要）
    public String getPassword() {
        return password;
    }

    // 5. （可选）若前端需要修改参数，可加 setter 方法（当前登录场景暂不需要）
    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}